// 引入框架
const Koa=require('koa')
// 引入静态中间件
const serve=require('koa-static')
// 引入能把 所有的路由 都指向同一个页面的 插件
const { historyApiFallback } = require('koa2-connect-history-api-fallback')
// 引入反向代理插件：把页面的api请求都指向远程数据服务器java
const proxy = require('koa2-proxy-middleware')
// 创建服务器实例
const app=new Koa()

// 处理 vue 因为 history 模式量顺子
// 造成的 not found 问题
app.use(historyApiFallback({
    // 这个中间件只负责处理页面的请求：把所有的页面请求都指向index.html这个页面
    // api请求应该在白名单内, 直接放过
    whiteList: ['/api']
  }))

// 配置代理中间件，所有带有api的请求都转发到数据服务器
// app.use(proxy({
//     targets:{
//         '/api/(.*)':{
//             // target:'http://ihrm-java.itheima.net',
//             target: 'http://localhost:3000',
//             changeOrigin:true
//         }
//     }
// }))

app.use(proxy({
    targets: {
      '/api/(.*)': {
        // target: 'http://ihrm-java.itheima.net',
        target: 'http://localhost:3000',
        changeOrigin: true
      }
    }
  }))

// 设定静态文件的目录
app.use(serve(__dirname+'/public'))

app.listen(3333,()=>{
    console.log('端口为3333的服务器开启成功');
})